Embodiments of the invention relate generally to distributed systems and more specifically to techniques for managing availability of one or more components in a distributed system.
Distributed applications include software components running on different computers and interacting with each other via a network, frequently as part of a larger distributed system. Examples of distributed applications include scalable information retrieval and/or document processing applications (such as content management environments) that exploit machine-level parallelism. A distributed application may be configured to detect system failures, such as failures in hardware, software, network, etc.